package com.ruoyi.zhsu.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 住宿费管理对象 zhsu
 * 
 * @author tgs
 * @date 2025-05-15
 */
public class Zhsu extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 学生的学号，与学生住宿信息表中的学号关联 */
    private String 学号;

    /** 学期信息，例如2023-2024学年秋季学期 */
    private String 学期;

    /** 该学期应缴纳的住宿费金额 */
    @Excel(name = "该学期应缴纳的住宿费金额")
    private BigDecimal 应缴住宿费;

    /** 学生已缴纳的住宿费金额 */
    @Excel(name = "学生已缴纳的住宿费金额")
    private BigDecimal 已缴金额;

    /** 学生缴纳住宿费的日期，可为空表示未缴费 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "学生缴纳住宿费的日期，可为空表示未缴费", width = 30, dateFormat = "yyyy-MM-dd")
    private Date 缴费日期;

    /** 学生享受的优惠金额，例如减免等 */
    @Excel(name = "学生享受的优惠金额，例如减免等")
    private BigDecimal 优惠金额;

    /** 学生当前的欠费金额，通过计算得出 */
    @Excel(name = "学生当前的欠费金额，通过计算得出")
    private BigDecimal 欠费金额;

    /** 其他需要说明的信息，例如欠费原因等 */
    @Excel(name = "其他需要说明的信息，例如欠费原因等")
    private String 备注;

    public void set学号(String 学号) 
    {
        this.学号 = 学号;
    }

    public String get学号() 
    {
        return 学号;
    }
    public void set学期(String 学期) 
    {
        this.学期 = 学期;
    }

    public String get学期() 
    {
        return 学期;
    }
    public void set应缴住宿费(BigDecimal 应缴住宿费) 
    {
        this.应缴住宿费 = 应缴住宿费;
    }

    public BigDecimal get应缴住宿费() 
    {
        return 应缴住宿费;
    }
    public void set已缴金额(BigDecimal 已缴金额) 
    {
        this.已缴金额 = 已缴金额;
    }

    public BigDecimal get已缴金额() 
    {
        return 已缴金额;
    }
    public void set缴费日期(Date 缴费日期) 
    {
        this.缴费日期 = 缴费日期;
    }

    public Date get缴费日期() 
    {
        return 缴费日期;
    }
    public void set优惠金额(BigDecimal 优惠金额) 
    {
        this.优惠金额 = 优惠金额;
    }

    public BigDecimal get优惠金额() 
    {
        return 优惠金额;
    }
    public void set欠费金额(BigDecimal 欠费金额) 
    {
        this.欠费金额 = 欠费金额;
    }

    public BigDecimal get欠费金额() 
    {
        return 欠费金额;
    }
    public void set备注(String 备注) 
    {
        this.备注 = 备注;
    }

    public String get备注() 
    {
        return 备注;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("学号", get学号())
            .append("学期", get学期())
            .append("应缴住宿费", get应缴住宿费())
            .append("已缴金额", get已缴金额())
            .append("缴费日期", get缴费日期())
            .append("优惠金额", get优惠金额())
            .append("欠费金额", get欠费金额())
            .append("备注", get备注())
            .toString();
    }
}
